<!DOCTYPE html>
<html xmlns:th="http://www.w3.org/1999/xhtml" lang="en">


<head th:replace="~{/admin/_fragments:: head(~{::title})}">

    <!--<head>-->
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客管理</title>
    <link rel="stylesheet" href="../../static/semantics-dist/semantic.min.css" th:href="@{/semantics-dist/semantic.min.css}">
    <link rel="stylesheet" href="../../static/css/me.css" th:href="@{/css/me.css}">

    <script src="../../static/js/jquery-3.7.1.min.js" th:src="@{/js/jquery-3.7.1.min.js}" ></script>
    <script src="../../static/semantics-dist/semantic.min.js" th:src="@{/semantics-dist/semantic.min.js}" ></script>
</head>








<!--h:style="'background-image: url(@{/static/images/anime11.png}); background-size: cover; background-position: center; background-repeat: no-repeat;'"-->

<body  >



<nav th:replace="~{admin/_fragments :: menu(8)}"  class="ui   attached segment m-padded-tb-mini m-shadow-small" >
    <div class="ui container"  >
        <div class="ui   secondary stackable menu">
            <a href="#" th:href="@{/admin/blogs}">
                <h3 class="ui  teal header item" ><i class="ui clipboard outline icon"></i>博客管理</h3></a>
            <a class="m-item m-mobile-hidden  item"  th:classapend = "${(n == 1) ? 'active' : ''}" th:href="@{/admin/blogs/input}"> <i class="ui  home icon">  </i>发文</a>
            <a class="m-item m-mobile-hidden item"  th:classapend = "${(n == 2) ? 'active' : ''}" th:href="@{/admin/todolist}"> <i class="ui tasks  icon">  </i>TODO</a>
            <a class="m-item m-mobile-hidden item"  th:classapend = "${(n == 3) ? 'active' : ''}" th:href="@{/admin/chart}"><i class="ui chart bar icon">  </i> 图表 </a>
            <a class="m-item m-mobile-hidden item"  th:classapend = "${(n == 5) ? 'active' : ''}" th:href="@{/admin/tags}"><i class="ui compass icon">  </i> 机器人</a>
            <a class="m-item m-mobile-hidden item"  th:classapend = "${(n == 4) ? 'active' : ''}" th:href="@{/admin/tags}"><i class="ui play  icon">  </i> 视频 </a>

            <a class="m-item m-mobile-hidden item"  th:classapend = "${(n == 6) ? 'active' : ''}" th:href="@{/}"><i class="ui pencil icon">  </i>主页展示</a>
            <div class="right m-mobile-hidden menu">
                <!--                    <div class="ui dropdown item">-->
                <!--                        <img class="ui avatar image" src="../../static/images/mio3.jpg" th:src="@{/images/mio3.jpg}">-->
                <!--                        长野原美绪-->
                <!--                        <i class="dropdown icon"></i>-->
                <!--                        <div class="menu">-->
                <!--                            <a href="#" class="item" th:href="@{/admin/user}">管理账号</a>-->
                <!--                            <a href="#" class="item" th:href="@{/admin/logout}">退出登录</a>-->
                <!--                        </div>-->
                <!--                    </div>-->
                <div class="ui dropdown item">
                    <img class="ui avatar image" src="../../static/images/mio3.jpg" th:src="@{${session.user.avatar}}" >

                    <a href="#" class="header" th:text="${session.user.nickname}"> </a>
                    <i class="dropdown icon"></i>
                    <div class="menu">
                        <a href="#" class="item" th:href="@{/admin/user}">管理账号</a>
                        <a href="#" class="item" th:href="@{/admin/logout}">退出登录</a>
                    </div>
                </div>
            </div>
        </div>

    </div>
    <a href="#" class="ui menu toggle m-mobile-show   button">
        展开
        <i class="sidebar  icon m-top-right "></i>
    </a>

</nav>
<!--二级导航-->
<div  th:replace="~{admin/_fragments ::div1}"  class="ui attached pointing menu">
    <div class="ui container">
        <div class="right menu">

            <a href="#" class="item">发布</a>
            <a href="#" class="teal active item">列表</a>
        </div>
    </div>
</div>
<!--    中间内容-->
<br>
<!--中间内容-->
<div  class="  m-padded-tb-big">

    <div class="ui   container">
        <div  class="ui secondary segment  form">
            <!--      todo      这个 <form> 元素会触发默认的表单提交行为，而你的 JavaScript 中可能对表单的提交进行了一些处理，导致了问题。通过去掉 <form> 元素，你 essentially 将这部分内容从传统的表单提交行为中解耦，而更加依赖 JavaScript 处理。这样做可以防止浏览器默认的表单提交，确保你的 JavaScript 代码能够正确地处理用户的搜索请求。-->

            <input type="hidden" name="page" >

            <div class=" inline fields">
                <div class="field">
                    <input type="text" id="titlesearch" name="title" placeholder="标题">
                </div>
                <div class="field">
                    <div class="ui labeled action input">
                        <div class="ui type selection dropdown">
                            <input type="hidden" name="typeId">
                            <i class="dropdown icon"></i>
                            <div class="  text">分类</div>
                            <div class="menu">
                                <div th:each="type : ${types}" class="item" data-value="1" th:data-value="${type.id}" th:text="${type.name}">错误日志</div>
                                <!--/*-->
                                <div class="item" data-value="2">英语</div>
                                <!--*/-->
                            </div>
                        </div>
                        <button id="clear-btn" class="ui compact button">clear</button>
                    </div>

                </div>
                <div class="field">
                    <div class="ui checkbox">
                        <input type="checkbox" id="recommend" name="recommend">
                        <label for="recommend">推荐</label>
                    </div>
                </div>
                <div class="field">
                    <button  type="button" id="search-btn" class="ui mini  blue large  button"><i class="search icon"></i>搜索</button>
                </div>
            </div>
        </div>
        <div id="table-container">
            <table th:fragment="blogList" class="ui compact teal table">
                <thead>

                <tr>
                    <th></th>
                    <th>标题</th>
                    <th>作者</th>
                    <th>类型</th>
                    <th>推荐</th>
                    <th>状态</th>
                    <th>更新时间</th>
                    <th>操作</th>
                </tr>

                </thead>
                <tbody>
                <tr th:each="blog,iterStat : ${page.content}">
                    <td th:text="${iterStat.count}">1</td>
                    <td th:text="${blog.title}">刻意练习清单</td>
                    <td th:text="${blog.user.nickname}">作者</td>
                    <td th:text="${blog.type.name}">认知升级</td>
                    <td th:text="${blog.recommend} ? '是':'否'">是</td>
                    <td th:text="${blog.published} ? '发布':'草稿'">草稿</td>
                    <td th:text="${blog.updateTime}">2023-10-02 09:45</td>
                    <td>
                        <a href="#" th:href="@{/admin/blogs/{id}/input(id=${blog.id})}" class="ui mini teal basic button">编辑</a>
                        <a href="#" th:href="@{/admin/blogs/{id}/delete(id=${blog.id})}" th:onclick="return confirm('您确定要删除这篇文章吗？') ? true : false;" class="ui mini red basic button"   >删除</a>
                    </td>
                </tr>
                </tbody>
                <tfoot>
                <tr>
                    <th colspan="7">
                        <div class="ui mini pagination menu" th:if="${page.totalPages}>1" >
<!--                            th：attr 是自定义 属性  data-page对于后面  val($(obj).data("page"));-->
                            <a onclick="page(this)" th:attr="data-page=${page.number}-1" class="item" th:unless="${page.first}">上一页</a>
                            <a onclick="page(this)" th:attr="data-page=${page.number}+1" class=" item" th:unless="${page.last}">下一页</a>
                        </div>
                        <a href="#" th:href="@{/admin/blogs/input}" class="ui mini right floated teal basic button">新增</a>
                    </th>
                </tr>
                </tfoot>
            </table>

            <div class="ui success message" th:unless="${#strings.isEmpty(message)}">
                <i class="close icon"></i>
                <div class="header">提示：</div>
                <p th:text="${message}">恭喜，操作成功！</p>
            </div>

        </div>

    </div>
</div>
<br>
<br>

<footer th:replace="~{admin/_fragments ::footer}" class="ui    attached segment m-padded-tb-mini m-shadow-big-up  ">

    <br>
    <br>
    <br>
    <div class="ui center aligned container">
        <div class="ui   divided stackable grid">

            <div class="three wide column">

                <div class="middle aligned">

                    <img src="../../../static/images/mio1.png"
                         class="ui middle aligned round image" alt="" style="width: 150px" th:src="@{/images/mio1.png}">
                </div>


            </div>
            <div class="three wide column ">
                <h4 class ="ui   header" >最新文章</h4>
                <div class="ui red  link list">
                    <div id="newblog-container">
                        <div class="ui   link list" th:fragment="newblogList">
                            <a href="#" th:href="@{/blog/{id}(id=${blog.id})}" target="_blank" class="item black m-text-thin" th:each="blog : ${newblogs}" th:text="${blog.title}">用户故事（User Story）</a>
                            <!--/*-->
                            <!--*/-->
                        </div>
                    </div>
                </div>
            </div>
            <div class="three wide column">
                <h4 class ="ui   header">练习方式</h4>
                <div class="ui black  link list">
                    <a href="#" class="item">yonghuname@github.com</a>
                    <a href="#" class="item">等待填充</a>
                    <a href="#" class="item">等待填充</a>
                </div>
            </div>

            <div class="seven wide column">

                <h4 class ="ui   header">网页介绍</h4>

                <p  class="m-text-thin m-text-spaced m-opacity-mini ">学而不思则罔，思而不学则怠。</p>

            </div>
        </div>

        <!--111111111111111111111111111111-->

        <div class="ui   section divider m-padded-tb-">
        </div> <p class="m-text-thin m-text-spaced m-opacity-mini">All rights reserved  </p>
    </div>
</footer>


</body>

<!--<script  src="https://cdn.jsdeliver.net/semantic-ui/2.2.4/semantic.min.js"></script>-->
<!--<script  src="https://cdn.jsdeliver.net/npm/jquery@3.2/dist/jquery.min.js"></script>-->

</html>
<!--为什么不用ajax 这组件太难用 -->
<script>

    $(document).ready(function() {
        $('.menu.toggle').click(function() {
            $('.m-item').toggleClass('m-mobile-hidden');
        });
    });
    $('.ui.dropdown')
        .dropdown({
            // you can use any ui transition
            // transition: 'drop',
            on:  'hover'
        })
    // $是jquery的语法
    function page(obj) {
        $("[name='page']").val($(obj).data("page"));
        loaddata();
    }
    // 选取name属性值为DOM 的元素
    //能拿到 <input type="hidden" name="page"> 这个值吧,他是不是说错了??? 来自弹幕
    $("#search-btn").click(function () {
        $("[name='page']").val(0);
        loaddata();
    });

    //消息提示关闭初始化
    $('.message .close')
        .on('click', function () {
            $(this)
                .closest('.message')
                .transition('fade');
        });

    //
    // // 定义名为loaddata的函数，用于通过AJAX加载数据
    // function loaddata() {
    //     // 使用jQuery的.load()方法从服务器加载数据
    //     // 第一个参数是请求的URL，这里使用了模板字符串来插入后端提供的路径
    //     // 路径中的/*@{/admin/blogs/search}
    //     // 可能是后端模板引擎的占位符，实际路径会在服务器端解析
    //     $("#table-container").load(/*[[@{/admin/blogs/search}]]*/"/admin/blogs/search", {
    //         // 第二个参数是一个对象，包含了要发送到服务器的数据
    //         // 这些数据将作为查询参数（GET请求）附加到URL上
    //
    //         // 获取名为'title'的输入框的值
    //         title : $("[name='title']").val(),
    //         // 获取名为'typeId'的输入框的值
    //         typeId : $("[name='typeId']").val(),
    //         // 获取名为'recommend'的复选框的选中状态
    //         // prop('checked')用于获取复选框的选中状态，返回布尔值
    //         recommend : $("[name='recommend']").prop('checked'),
    //         // 获取名为'page'的输入框的值
    //         page : $("[name='page']").val()
    //     });
    // }



    function loaddata() {
        $("#table-container").load(/*[[@{/admin/blogs/search}]]*/"/admin/blogs/search",{
            title : $("[name='title']").val(),
            typeId : $("[name='typeId']").val(),
            recommend : $("[name='recommend']").prop('checked'),
            page : $("[name='page']").val()
        });
    }

    $('#clear-btn')
        .on('click', function() {
            $('.ui.type.dropdown')
                .dropdown('clear')
            ;

        })
    ;
</script>